<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Voodoo Shader Framework: K:/VoodooShader/DX8_Module/Wrapper.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.png"
             onmouseover="return searchBox.OnSearchSelectShow()"
             onmouseout="return searchBox.OnSearchSelectHide()"
             alt=""/>
        <input type="text" id="MSearchField" value="Search" accesskey="S"
             onfocus="searchBox.OnSearchFieldFocus(true)" 
             onblur="searchBox.OnSearchFieldFocus(false)" 
             onkeyup="searchBox.OnSearchFieldChange(event)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
<h1>K:/VoodooShader/DX8_Module/Wrapper.hpp</h1><a href="_wrapper_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 
<a name="l00002"></a>00002 <span class="preprocessor">#include &quot;../Framework/VoodooFramework.hpp&quot;</span>
<a name="l00003"></a>00003 <span class="preprocessor">#pragma comment(lib, &quot;../Debug/VoodooFramework.lib&quot;)</span>
<a name="l00004"></a>00004 <span class="preprocessor"></span>
<a name="l00005"></a>00005 <span class="preprocessor">#include &quot;../DX9_Module/DX9_Module.hpp&quot;</span>
<a name="l00006"></a>00006 <span class="preprocessor">#pragma comment(lib, &quot;../Debug/Voodoo_DX9.lib&quot;)</span>
<a name="l00007"></a>00007 <span class="preprocessor"></span>
<a name="l00008"></a>00008 <span class="preprocessor">#include &lt;d3d9.h&gt;</span>
<a name="l00009"></a>00009 <span class="preprocessor">#include &lt;d3dx9.h&gt;</span>
<a name="l00010"></a>00010 <span class="preprocessor">#pragma comment(lib, &quot;D3D9.lib&quot;)</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span>
<a name="l00012"></a><a class="code" href="_wrapper_8hpp.html#ac56bd18976e7cd88aa37d418b8655a1c">00012</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="_wrapper_8hpp.html#ac56bd18976e7cd88aa37d418b8655a1c">define</a> [] = <span class="stringliteral">&quot;#define &quot;</span>;
<a name="l00013"></a>00013 
<a name="l00014"></a><a class="code" href="_wrapper_8hpp.html#afdc2bf8d759f43d6ce9e9536564bfeec">00014</a> <span class="keyword">typedef</span> IDirect3DVertexBuffer9 <a class="code" href="_wrapper_8hpp.html#afdc2bf8d759f43d6ce9e9536564bfeec">IDirect3DVertexBuffer</a>;
<a name="l00015"></a><a class="code" href="_wrapper_8hpp.html#ab40733c00f103210eb721b0ac5e51df8">00015</a> <span class="keyword">typedef</span> IDirect3DIndexBuffer9 <a class="code" href="_wrapper_8hpp.html#ab40733c00f103210eb721b0ac5e51df8">IDirect3DIndexBuffer</a>;
<a name="l00016"></a><a class="code" href="_wrapper_8hpp.html#a7751a7f35758ceb5b1dcb00f90770635">00016</a> <span class="keyword">typedef</span> IDirect3DSurface9 <a class="code" href="_wrapper_8hpp.html#a7751a7f35758ceb5b1dcb00f90770635">IDirect3DSurface</a>;
<a name="l00017"></a><a class="code" href="_wrapper_8hpp.html#ab7957cc0746a9296e47f051989c6a70c">00017</a> <span class="keyword">typedef</span> IDirect3DTexture9 <a class="code" href="_wrapper_8hpp.html#ab7957cc0746a9296e47f051989c6a70c">IDirect3DTexture</a>;
<a name="l00018"></a><a class="code" href="_wrapper_8hpp.html#a50aad0ff990b29c019a0c85b9cee3c3b">00018</a> <span class="keyword">typedef</span> IDirect3D9 <a class="code" href="_wrapper_8hpp.html#a50aad0ff990b29c019a0c85b9cee3c3b">IDirect3D</a>;
<a name="l00019"></a><a class="code" href="_wrapper_8hpp.html#a46feedf976c5c9ffeb96396c967de985">00019</a> <span class="keyword">typedef</span> IDirect3DDevice9 <a class="code" href="_wrapper_8hpp.html#a46feedf976c5c9ffeb96396c967de985">IDirect3DDevice</a>;
<a name="l00020"></a><a class="code" href="_wrapper_8hpp.html#ae6d90784aa49f4cfa9c688fbf567362e">00020</a> <span class="keyword">typedef</span> D3DLIGHT9 <a class="code" href="_wrapper_8hpp.html#ae6d90784aa49f4cfa9c688fbf567362e">D3DLIGHT8</a>;
<a name="l00021"></a><a class="code" href="_wrapper_8hpp.html#a0365b5833d9d4a8fc3e1d20571924177">00021</a> <span class="keyword">typedef</span> D3DMATERIAL9 <a class="code" href="_wrapper_8hpp.html#a0365b5833d9d4a8fc3e1d20571924177">D3DMATERIAL8</a>;
<a name="l00022"></a><a class="code" href="_wrapper_8hpp.html#aa46f00620cb88942216e9b1ef1ff2a43">00022</a> <span class="keyword">typedef</span> D3DVIEWPORT9 <a class="code" href="_wrapper_8hpp.html#aa46f00620cb88942216e9b1ef1ff2a43">D3DVIEWPORT8</a>;
<a name="l00023"></a><a class="code" href="_wrapper_8hpp.html#aea73804cdb3d0bee62eec58414ab3030">00023</a> <span class="keyword">typedef</span> D3DCLIPSTATUS9 <a class="code" href="_wrapper_8hpp.html#aea73804cdb3d0bee62eec58414ab3030">D3DCLIPSTATUS8</a>;
<a name="l00024"></a>00024 
<a name="l00025"></a><a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">00025</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a>
<a name="l00026"></a>00026 {
<a name="l00027"></a>00027 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="keyword">public</span>:
<a name="l00029"></a>00029     <a class="code" href="_wrapper_8hpp.html#a2654a1434644ad2e8cc95edda7fc3916">RGBVECTOR</a>() {}
<a name="l00030"></a>00030     <a class="code" href="_wrapper_8hpp.html#a2654a1434644ad2e8cc95edda7fc3916">RGBVECTOR</a>( DWORD rgb );
<a name="l00031"></a>00031     <a class="code" href="_wrapper_8hpp.html#a2654a1434644ad2e8cc95edda7fc3916">RGBVECTOR</a>( CONST FLOAT * );
<a name="l00032"></a>00032     <a class="code" href="_wrapper_8hpp.html#a2654a1434644ad2e8cc95edda7fc3916">RGBVECTOR</a>( CONST D3DXFLOAT16 * );
<a name="l00033"></a>00033     <a class="code" href="_wrapper_8hpp.html#a2654a1434644ad2e8cc95edda7fc3916">RGBVECTOR</a>( CONST <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a> * );
<a name="l00034"></a>00034     <a class="code" href="_wrapper_8hpp.html#a2654a1434644ad2e8cc95edda7fc3916">RGBVECTOR</a>( CONST RGBVECTOR&amp; );
<a name="l00035"></a>00035     <a class="code" href="_wrapper_8hpp.html#a2654a1434644ad2e8cc95edda7fc3916">RGBVECTOR</a>( CONST D3DCOLORVALUE&amp; );
<a name="l00036"></a>00036     <a class="code" href="_wrapper_8hpp.html#a2654a1434644ad2e8cc95edda7fc3916">RGBVECTOR</a>( CONST D3DXCOLOR&amp; );
<a name="l00037"></a>00037     <a class="code" href="_wrapper_8hpp.html#a2654a1434644ad2e8cc95edda7fc3916">RGBVECTOR</a>( FLOAT <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a>, FLOAT <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a>, FLOAT <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> );
<a name="l00038"></a>00038 
<a name="l00039"></a>00039     <span class="comment">// casting</span>
<a name="l00040"></a>00040     operator DWORD () <span class="keyword">const</span>;
<a name="l00041"></a>00041 
<a name="l00042"></a>00042     operator FLOAT* ();
<a name="l00043"></a>00043     operator CONST FLOAT* () <span class="keyword">const</span>;
<a name="l00044"></a>00044 
<a name="l00045"></a>00045     <span class="comment">// assignment operators</span>
<a name="l00046"></a>00046     RGBVECTOR&amp; operator += ( CONST RGBVECTOR&amp; );
<a name="l00047"></a>00047     RGBVECTOR&amp; operator -= ( CONST RGBVECTOR&amp; );
<a name="l00048"></a>00048     RGBVECTOR&amp; operator += ( CONST D3DXCOLOR&amp; );
<a name="l00049"></a>00049     RGBVECTOR&amp; operator -= ( CONST D3DXCOLOR&amp; );
<a name="l00050"></a>00050     RGBVECTOR&amp; operator *= ( FLOAT );
<a name="l00051"></a>00051     RGBVECTOR&amp; operator /= ( FLOAT );
<a name="l00052"></a>00052 
<a name="l00053"></a>00053     <span class="comment">// unary operators</span>
<a name="l00054"></a>00054     RGBVECTOR operator + () <span class="keyword">const</span>;
<a name="l00055"></a>00055     RGBVECTOR operator - () <span class="keyword">const</span>;
<a name="l00056"></a>00056 
<a name="l00057"></a>00057     <span class="comment">// binary operators</span>
<a name="l00058"></a>00058     RGBVECTOR operator + ( CONST RGBVECTOR&amp; ) <span class="keyword">const</span>;
<a name="l00059"></a>00059     RGBVECTOR operator - ( CONST RGBVECTOR&amp; ) <span class="keyword">const</span>;
<a name="l00060"></a>00060     RGBVECTOR operator + ( CONST D3DXCOLOR&amp; ) <span class="keyword">const</span>;
<a name="l00061"></a>00061     RGBVECTOR operator - ( CONST D3DXCOLOR&amp; ) <span class="keyword">const</span>;
<a name="l00062"></a>00062     RGBVECTOR operator * ( FLOAT ) <span class="keyword">const</span>;
<a name="l00063"></a>00063     RGBVECTOR operator / ( FLOAT ) <span class="keyword">const</span>;
<a name="l00064"></a>00064 
<a name="l00065"></a>00065     <span class="keyword">friend</span> RGBVECTOR operator * ( FLOAT, CONST RGBVECTOR&amp; );
<a name="l00066"></a>00066 
<a name="l00067"></a>00067     BOOL operator == ( CONST RGBVECTOR&amp; ) <span class="keyword">const</span>;
<a name="l00068"></a>00068     BOOL operator != ( CONST RGBVECTOR&amp; ) <span class="keyword">const</span>;
<a name="l00069"></a>00069     BOOL operator == ( CONST D3DXCOLOR&amp; ) <span class="keyword">const</span>;
<a name="l00070"></a>00070     BOOL operator != ( CONST D3DXCOLOR&amp; ) <span class="keyword">const</span>;
<a name="l00071"></a>00071 
<a name="l00072"></a>00072 <span class="preprocessor">#endif //__cplusplus</span>
<a name="l00073"></a><a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">00073</a> <span class="preprocessor"></span>    FLOAT r, g, b;
<a name="l00074"></a>00074 } <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a>, *<a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">LPRGBVECTOR</a>;
<a name="l00075"></a>00075 
<a name="l00076"></a>00076 <span class="preprocessor">#ifndef _D3D8HEADER_INL_</span>
<a name="l00077"></a><a class="code" href="_wrapper_8hpp.html#a8309a8ae9af8b669d96f2ed995f70491">00077</a> <span class="preprocessor"></span><span class="preprocessor">#define _D3D8HEADER_INL_</span>
<a name="l00078"></a>00078 <span class="preprocessor"></span>
<a name="l00079"></a>00079 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00080"></a>00080 <span class="preprocessor"></span>
<a name="l00081"></a>00081 <span class="comment">//--------------------------</span>
<a name="l00082"></a>00082 <span class="comment">// Color</span>
<a name="l00083"></a>00083 <span class="comment">//--------------------------</span>
<a name="l00084"></a>00084 
<a name="l00085"></a>00085 D3DXINLINE
<a name="l00086"></a>00086 <a class="code" href="_wrapper_8hpp.html#a2654a1434644ad2e8cc95edda7fc3916">RGBVECTOR::RGBVECTOR</a>( DWORD dw )
<a name="l00087"></a>00087 {
<a name="l00088"></a>00088     CONST FLOAT f = 1.0f / 255.0f;
<a name="l00089"></a>00089     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a> = f * (FLOAT) (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>) (dw &gt;&gt; 16);
<a name="l00090"></a>00090     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a> = f * (FLOAT) (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>) (dw &gt;&gt;  8);
<a name="l00091"></a>00091     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> = f * (FLOAT) (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>) (dw &gt;&gt;  0);
<a name="l00092"></a>00092 }
<a name="l00093"></a>00093 
<a name="l00094"></a>00094 D3DXINLINE
<a name="l00095"></a>00095 <a class="code" href="_wrapper_8hpp.html#a2654a1434644ad2e8cc95edda7fc3916">RGBVECTOR::RGBVECTOR</a>( CONST FLOAT* pf )
<a name="l00096"></a>00096 {
<a name="l00097"></a>00097 <span class="preprocessor">#ifdef D3DX_DEBUG</span>
<a name="l00098"></a>00098 <span class="preprocessor"></span>    <span class="keywordflow">if</span>(!pf)
<a name="l00099"></a>00099         <span class="keywordflow">return</span>;
<a name="l00100"></a>00100 <span class="preprocessor">#endif</span>
<a name="l00101"></a>00101 <span class="preprocessor"></span>
<a name="l00102"></a>00102     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a> = pf[0];
<a name="l00103"></a>00103     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a> = pf[1];
<a name="l00104"></a>00104     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> = pf[2];
<a name="l00105"></a>00105 }
<a name="l00106"></a>00106 
<a name="l00107"></a>00107 D3DXINLINE
<a name="l00108"></a>00108 <a class="code" href="_wrapper_8hpp.html#a2654a1434644ad2e8cc95edda7fc3916">RGBVECTOR::RGBVECTOR</a>( CONST D3DXFLOAT16* pf )
<a name="l00109"></a>00109 {
<a name="l00110"></a>00110 <span class="preprocessor">#ifdef D3DX_DEBUG</span>
<a name="l00111"></a>00111 <span class="preprocessor"></span>    <span class="keywordflow">if</span>(!pf)
<a name="l00112"></a>00112         <span class="keywordflow">return</span>;
<a name="l00113"></a>00113 <span class="preprocessor">#endif</span>
<a name="l00114"></a>00114 <span class="preprocessor"></span>
<a name="l00115"></a>00115     D3DXFloat16To32Array(&amp;<a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a>, pf, 3);
<a name="l00116"></a>00116 }
<a name="l00117"></a>00117 
<a name="l00118"></a>00118 D3DXINLINE
<a name="l00119"></a>00119 <a class="code" href="_wrapper_8hpp.html#a2654a1434644ad2e8cc95edda7fc3916">RGBVECTOR::RGBVECTOR</a>( CONST <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a>* c )
<a name="l00120"></a>00120 {
<a name="l00121"></a>00121     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a> = c-&gt;r;
<a name="l00122"></a>00122     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a> = c-&gt;g;
<a name="l00123"></a>00123     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> = c-&gt;b;
<a name="l00124"></a>00124 }
<a name="l00125"></a>00125 
<a name="l00126"></a>00126 D3DXINLINE
<a name="l00127"></a>00127 <a class="code" href="_wrapper_8hpp.html#a2654a1434644ad2e8cc95edda7fc3916">RGBVECTOR::RGBVECTOR</a>( CONST <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a>&amp; c )
<a name="l00128"></a>00128 {
<a name="l00129"></a>00129     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a> = c.r;
<a name="l00130"></a>00130     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a> = c.g;
<a name="l00131"></a>00131     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> = c.b;
<a name="l00132"></a>00132 }
<a name="l00133"></a>00133 
<a name="l00134"></a>00134 D3DXINLINE
<a name="l00135"></a>00135 <a class="code" href="_wrapper_8hpp.html#a2654a1434644ad2e8cc95edda7fc3916">RGBVECTOR::RGBVECTOR</a>( CONST D3DCOLORVALUE&amp; c )
<a name="l00136"></a>00136 {
<a name="l00137"></a>00137     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a> = c.r;
<a name="l00138"></a>00138     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a> = c.g;
<a name="l00139"></a>00139     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> = c.b;
<a name="l00140"></a>00140 }
<a name="l00141"></a>00141 
<a name="l00142"></a>00142 D3DXINLINE
<a name="l00143"></a>00143 <a class="code" href="_wrapper_8hpp.html#a2654a1434644ad2e8cc95edda7fc3916">RGBVECTOR::RGBVECTOR</a>( CONST D3DXCOLOR&amp; c )
<a name="l00144"></a>00144 {
<a name="l00145"></a>00145     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a> = c.r;
<a name="l00146"></a>00146     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a> = c.g;
<a name="l00147"></a>00147     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> = c.b;
<a name="l00148"></a>00148 }
<a name="l00149"></a>00149 
<a name="l00150"></a>00150 D3DXINLINE
<a name="l00151"></a>00151 <a class="code" href="_wrapper_8hpp.html#a2654a1434644ad2e8cc95edda7fc3916">RGBVECTOR::RGBVECTOR</a>( FLOAT fr, FLOAT fg, FLOAT fb )
<a name="l00152"></a>00152 {
<a name="l00153"></a>00153     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a> = fr;
<a name="l00154"></a>00154     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a> = fg;
<a name="l00155"></a>00155     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> = fb;
<a name="l00156"></a>00156 }
<a name="l00157"></a>00157 
<a name="l00158"></a>00158 
<a name="l00159"></a>00159 <span class="comment">// casting</span>
<a name="l00160"></a>00160 D3DXINLINE
<a name="l00161"></a>00161 RGBVECTOR::operator DWORD ()<span class="keyword"> const</span>
<a name="l00162"></a>00162 <span class="keyword"></span>{
<a name="l00163"></a>00163     DWORD dwR = <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a> &gt;= 1.0f ? 0xff : <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a> &lt;= 0.0f ? 0x00 : (DWORD) (<a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a> * 255.0f + 0.5f);
<a name="l00164"></a>00164     DWORD dwG = <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a> &gt;= 1.0f ? 0xff : <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a> &lt;= 0.0f ? 0x00 : (DWORD) (<a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a> * 255.0f + 0.5f);
<a name="l00165"></a>00165     DWORD dwB = <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> &gt;= 1.0f ? 0xff : <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> &lt;= 0.0f ? 0x00 : (DWORD) (<a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> * 255.0f + 0.5f);
<a name="l00166"></a>00166 
<a name="l00167"></a>00167     <span class="keywordflow">return</span> 0xff000000 | (dwR &lt;&lt; 16) | (dwG &lt;&lt; 8) | dwB;
<a name="l00168"></a>00168 }
<a name="l00169"></a>00169 
<a name="l00170"></a>00170 
<a name="l00171"></a>00171 D3DXINLINE
<a name="l00172"></a>00172 RGBVECTOR::operator FLOAT * ()
<a name="l00173"></a>00173 {
<a name="l00174"></a>00174     <span class="keywordflow">return</span> (FLOAT *) &amp;<a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a>;
<a name="l00175"></a>00175 }
<a name="l00176"></a>00176 
<a name="l00177"></a>00177 D3DXINLINE
<a name="l00178"></a>00178 RGBVECTOR::operator CONST FLOAT * ()<span class="keyword"> const</span>
<a name="l00179"></a>00179 <span class="keyword"></span>{
<a name="l00180"></a>00180     <span class="keywordflow">return</span> (CONST FLOAT *) &amp;<a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a>;
<a name="l00181"></a>00181 }
<a name="l00182"></a>00182 
<a name="l00183"></a>00183 
<a name="l00184"></a>00184 <span class="comment">// assignment operators</span>
<a name="l00185"></a>00185 D3DXINLINE <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a>&amp;
<a name="l00186"></a>00186 RGBVECTOR::operator += ( CONST <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a>&amp; c )
<a name="l00187"></a>00187 {
<a name="l00188"></a>00188     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a> += c.r;
<a name="l00189"></a>00189     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a> += c.g;
<a name="l00190"></a>00190     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> += c.b;
<a name="l00191"></a>00191     <span class="keywordflow">return</span> *<span class="keyword">this</span>;
<a name="l00192"></a>00192 }
<a name="l00193"></a>00193 
<a name="l00194"></a>00194 D3DXINLINE <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a>&amp;
<a name="l00195"></a>00195 RGBVECTOR::operator -= ( CONST <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a>&amp; c )
<a name="l00196"></a>00196 {
<a name="l00197"></a>00197     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a> -= c.r;
<a name="l00198"></a>00198     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a> -= c.g;
<a name="l00199"></a>00199     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> -= c.b;
<a name="l00200"></a>00200     <span class="keywordflow">return</span> *<span class="keyword">this</span>;
<a name="l00201"></a>00201 }
<a name="l00202"></a>00202 
<a name="l00203"></a>00203 D3DXINLINE <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a>&amp;
<a name="l00204"></a>00204 RGBVECTOR::operator += ( CONST D3DXCOLOR&amp; c )
<a name="l00205"></a>00205 {
<a name="l00206"></a>00206     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a> += c.r;
<a name="l00207"></a>00207     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a> += c.g;
<a name="l00208"></a>00208     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> += c.b;
<a name="l00209"></a>00209     <span class="keywordflow">return</span> *<span class="keyword">this</span>;
<a name="l00210"></a>00210 }
<a name="l00211"></a>00211 
<a name="l00212"></a>00212 D3DXINLINE <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a>&amp;
<a name="l00213"></a>00213 RGBVECTOR::operator -= ( CONST D3DXCOLOR&amp; c )
<a name="l00214"></a>00214 {
<a name="l00215"></a>00215     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a> -= c.r;
<a name="l00216"></a>00216     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a> -= c.g;
<a name="l00217"></a>00217     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> -= c.b;
<a name="l00218"></a>00218     <span class="keywordflow">return</span> *<span class="keyword">this</span>;
<a name="l00219"></a>00219 }
<a name="l00220"></a>00220 
<a name="l00221"></a>00221 D3DXINLINE <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a>&amp;
<a name="l00222"></a>00222 RGBVECTOR::operator *= ( FLOAT f )
<a name="l00223"></a>00223 {
<a name="l00224"></a>00224     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a> *= f;
<a name="l00225"></a>00225     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a> *= f;
<a name="l00226"></a>00226     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> *= f;
<a name="l00227"></a>00227     <span class="keywordflow">return</span> *<span class="keyword">this</span>;
<a name="l00228"></a>00228 }
<a name="l00229"></a>00229 
<a name="l00230"></a>00230 D3DXINLINE <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a>&amp;
<a name="l00231"></a>00231 RGBVECTOR::operator /= ( FLOAT f )
<a name="l00232"></a>00232 {
<a name="l00233"></a>00233     FLOAT fInv = 1.0f / f;
<a name="l00234"></a>00234     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a> *= fInv;
<a name="l00235"></a>00235     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a> *= fInv;
<a name="l00236"></a>00236     <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> *= fInv;
<a name="l00237"></a>00237     <span class="keywordflow">return</span> *<span class="keyword">this</span>;
<a name="l00238"></a>00238 }
<a name="l00239"></a>00239 
<a name="l00240"></a>00240 
<a name="l00241"></a>00241 <span class="comment">// unary operators</span>
<a name="l00242"></a>00242 D3DXINLINE <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a>
<a name="l00243"></a>00243 RGBVECTOR::operator + ()<span class="keyword"> const</span>
<a name="l00244"></a>00244 <span class="keyword"></span>{
<a name="l00245"></a>00245     <span class="keywordflow">return</span> *<span class="keyword">this</span>;
<a name="l00246"></a>00246 }
<a name="l00247"></a>00247 
<a name="l00248"></a>00248 D3DXINLINE <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a>
<a name="l00249"></a>00249 RGBVECTOR::operator - ()<span class="keyword"> const</span>
<a name="l00250"></a>00250 <span class="keyword"></span>{
<a name="l00251"></a>00251     <span class="keywordflow">return</span> <a class="code" href="_wrapper_8hpp.html#a2654a1434644ad2e8cc95edda7fc3916">RGBVECTOR</a>(-<a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a>, -<a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a>, -<a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a>);
<a name="l00252"></a>00252 }
<a name="l00253"></a>00253 
<a name="l00254"></a>00254 
<a name="l00255"></a>00255 <span class="comment">// binary operators</span>
<a name="l00256"></a>00256 D3DXINLINE <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a>
<a name="l00257"></a>00257 RGBVECTOR::operator + ( CONST <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a>&amp; c )<span class="keyword"> const</span>
<a name="l00258"></a>00258 <span class="keyword"></span>{
<a name="l00259"></a>00259     <span class="keywordflow">return</span> <a class="code" href="_wrapper_8hpp.html#a2654a1434644ad2e8cc95edda7fc3916">RGBVECTOR</a>(<a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a> + c.r, <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a> + c.g, <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> + c.b);
<a name="l00260"></a>00260 }
<a name="l00261"></a>00261 
<a name="l00262"></a>00262 D3DXINLINE <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a>
<a name="l00263"></a>00263 RGBVECTOR::operator - ( CONST <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a>&amp; c )<span class="keyword"> const</span>
<a name="l00264"></a>00264 <span class="keyword"></span>{
<a name="l00265"></a>00265     <span class="keywordflow">return</span> <a class="code" href="_wrapper_8hpp.html#a2654a1434644ad2e8cc95edda7fc3916">RGBVECTOR</a>(<a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a> - c.r, <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a> - c.g, <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> - c.b);
<a name="l00266"></a>00266 }
<a name="l00267"></a>00267 
<a name="l00268"></a>00268 D3DXINLINE <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a>
<a name="l00269"></a>00269 RGBVECTOR::operator + ( CONST D3DXCOLOR&amp; c )<span class="keyword"> const</span>
<a name="l00270"></a>00270 <span class="keyword"></span>{
<a name="l00271"></a>00271     <span class="keywordflow">return</span> <a class="code" href="_wrapper_8hpp.html#a2654a1434644ad2e8cc95edda7fc3916">RGBVECTOR</a>(<a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a> + c.r, <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a> + c.g, <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> + c.b);
<a name="l00272"></a>00272 }
<a name="l00273"></a>00273 
<a name="l00274"></a>00274 D3DXINLINE <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a>
<a name="l00275"></a>00275 RGBVECTOR::operator - ( CONST D3DXCOLOR&amp; c )<span class="keyword"> const</span>
<a name="l00276"></a>00276 <span class="keyword"></span>{
<a name="l00277"></a>00277     <span class="keywordflow">return</span> <a class="code" href="_wrapper_8hpp.html#a2654a1434644ad2e8cc95edda7fc3916">RGBVECTOR</a>(<a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a> - c.r, <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a> - c.g, <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> - c.b);
<a name="l00278"></a>00278 }
<a name="l00279"></a>00279 
<a name="l00280"></a>00280 D3DXINLINE <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a>
<a name="l00281"></a>00281 RGBVECTOR::operator * ( FLOAT f )<span class="keyword"> const</span>
<a name="l00282"></a>00282 <span class="keyword"></span>{
<a name="l00283"></a>00283     <span class="keywordflow">return</span> <a class="code" href="_wrapper_8hpp.html#a2654a1434644ad2e8cc95edda7fc3916">RGBVECTOR</a>(<a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a> * f, <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a> * f, <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> * f);
<a name="l00284"></a>00284 }
<a name="l00285"></a>00285 
<a name="l00286"></a>00286 D3DXINLINE <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a>
<a name="l00287"></a>00287 RGBVECTOR::operator / ( FLOAT f )<span class="keyword"> const</span>
<a name="l00288"></a>00288 <span class="keyword"></span>{
<a name="l00289"></a>00289     FLOAT fInv = 1.0f / f;
<a name="l00290"></a>00290     <span class="keywordflow">return</span> <a class="code" href="_wrapper_8hpp.html#a2654a1434644ad2e8cc95edda7fc3916">RGBVECTOR</a>(<a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a> * fInv, <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a> * fInv, <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> * fInv);
<a name="l00291"></a>00291 }
<a name="l00292"></a>00292 
<a name="l00293"></a>00293 
<a name="l00294"></a>00294 D3DXINLINE <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a>
<a name="l00295"></a>00295 operator * (FLOAT f, CONST <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a>&amp; c )
<a name="l00296"></a>00296 {
<a name="l00297"></a>00297     <span class="keywordflow">return</span> <a class="code" href="_wrapper_8hpp.html#a2654a1434644ad2e8cc95edda7fc3916">RGBVECTOR</a>(f * c.r, f * c.g, f * c.b);
<a name="l00298"></a>00298 }
<a name="l00299"></a>00299 
<a name="l00300"></a>00300 
<a name="l00301"></a>00301 D3DXINLINE BOOL
<a name="l00302"></a>00302 RGBVECTOR::operator == ( CONST <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a>&amp; c )<span class="keyword"> const</span>
<a name="l00303"></a>00303 <span class="keyword"></span>{
<a name="l00304"></a>00304     <span class="keywordflow">return</span> <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a> == c.r &amp;&amp; <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a> == c.g &amp;&amp; <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> == c.b;
<a name="l00305"></a>00305 }
<a name="l00306"></a>00306 
<a name="l00307"></a>00307 D3DXINLINE BOOL
<a name="l00308"></a>00308 RGBVECTOR::operator != ( CONST <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html">RGBVECTOR</a>&amp; c )<span class="keyword"> const</span>
<a name="l00309"></a>00309 <span class="keyword"></span>{
<a name="l00310"></a>00310     <span class="keywordflow">return</span> <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a> != c.r || <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a> != c.g || <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> != c.b;
<a name="l00311"></a>00311 }
<a name="l00312"></a>00312 
<a name="l00313"></a>00313 D3DXINLINE BOOL
<a name="l00314"></a>00314 RGBVECTOR::operator == ( CONST D3DXCOLOR&amp; c )<span class="keyword"> const</span>
<a name="l00315"></a>00315 <span class="keyword"></span>{
<a name="l00316"></a>00316     <span class="keywordflow">return</span> <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a> == c.r &amp;&amp; <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a> == c.g &amp;&amp; <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> == c.b &amp;&amp; c.a == 1;
<a name="l00317"></a>00317 }
<a name="l00318"></a>00318 
<a name="l00319"></a>00319 D3DXINLINE BOOL
<a name="l00320"></a>00320 RGBVECTOR::operator != ( CONST D3DXCOLOR&amp; c )<span class="keyword"> const</span>
<a name="l00321"></a>00321 <span class="keyword"></span>{
<a name="l00322"></a>00322     <span class="keywordflow">return</span> <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#aa5a3030354a373e622c7e71dab32ce2b">r</a> != c.r || <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#a3d28b265720eef4a3aac6b5f2857497f">g</a> != c.g || <a class="code" href="struct_r_g_b_v_e_c_t_o_r.html#ae0c628ade02a8a39ecec2d498579634c">b</a> != c.b || c.a != 1;
<a name="l00323"></a>00323 }
<a name="l00324"></a>00324 
<a name="l00325"></a>00325 
<a name="l00326"></a>00326 <span class="preprocessor">#endif </span><span class="comment">/* __cplusplus */</span>
<a name="l00327"></a>00327 
<a name="l00328"></a>00328 <span class="preprocessor">#endif </span><span class="comment">/* _D3D8HEADER_INL_ */</span>
<a name="l00329"></a>00329 
<a name="l00330"></a><a class="code" href="struct___d3_d_c_a_p_s8.html">00330</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct___d3_d_c_a_p_s8.html">_D3DCAPS8</a> {
<a name="l00331"></a>00331     <span class="comment">/* Device Info */</span>
<a name="l00332"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a5471e49b1ee8f285af885d22e5b785c3">00332</a>     D3DDEVTYPE  <a class="code" href="struct___d3_d_c_a_p_s8.html#a5471e49b1ee8f285af885d22e5b785c3">DeviceType</a>;
<a name="l00333"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a0dcd23f954e861e94c4172e1ef047507">00333</a>     UINT    <a class="code" href="struct___d3_d_c_a_p_s8.html#a0dcd23f954e861e94c4172e1ef047507">AdapterOrdinal</a>;
<a name="l00334"></a>00334 
<a name="l00335"></a>00335     <span class="comment">/* Caps from DX7 Draw */</span>
<a name="l00336"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a8e18f1a72286266c9942c4598b2f698a">00336</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a8e18f1a72286266c9942c4598b2f698a">Caps</a>;
<a name="l00337"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a71e168e3af9f5da5f38fc219552def5f">00337</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a71e168e3af9f5da5f38fc219552def5f">Caps2</a>;
<a name="l00338"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a6f08434edf43d5d88d9d74cf16f2f60a">00338</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a6f08434edf43d5d88d9d74cf16f2f60a">Caps3</a>;
<a name="l00339"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a01c2e63b3876e3ce84d004adf18ba960">00339</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a01c2e63b3876e3ce84d004adf18ba960">PresentationIntervals</a>;
<a name="l00340"></a>00340 
<a name="l00341"></a>00341     <span class="comment">/* Cursor Caps */</span>
<a name="l00342"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a0f0668e99d56594c7cbc774a4dc865d0">00342</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a0f0668e99d56594c7cbc774a4dc865d0">CursorCaps</a>;
<a name="l00343"></a>00343 
<a name="l00344"></a>00344     <span class="comment">/* 3D Device Caps */</span>
<a name="l00345"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#aa4280c420cbda20b7ee9641b0d85ca32">00345</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#aa4280c420cbda20b7ee9641b0d85ca32">DevCaps</a>;
<a name="l00346"></a>00346 
<a name="l00347"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#abf5ae8785dd2d8da2b143960af2d521f">00347</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#abf5ae8785dd2d8da2b143960af2d521f">PrimitiveMiscCaps</a>;
<a name="l00348"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a504cfc7a7341c06d8d44573d2f8e1e1b">00348</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a504cfc7a7341c06d8d44573d2f8e1e1b">RasterCaps</a>;
<a name="l00349"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a62258b3a1ac8adb46d16742321c6eb15">00349</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a62258b3a1ac8adb46d16742321c6eb15">ZCmpCaps</a>;
<a name="l00350"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#adb5d3eb8ea0d790f6e517c64a5190144">00350</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#adb5d3eb8ea0d790f6e517c64a5190144">SrcBlendCaps</a>;
<a name="l00351"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a14cfe00e64b6edb0645a2ced2a893db4">00351</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a14cfe00e64b6edb0645a2ced2a893db4">DestBlendCaps</a>;
<a name="l00352"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#ab703f3f2b4bb4478fb2f5e2dcf16ef6b">00352</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#ab703f3f2b4bb4478fb2f5e2dcf16ef6b">AlphaCmpCaps</a>;
<a name="l00353"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#ac7289a886d093ce9ea00c3f133844b67">00353</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#ac7289a886d093ce9ea00c3f133844b67">ShadeCaps</a>;
<a name="l00354"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a9edb24a862146161cb70baf9f9dcb983">00354</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a9edb24a862146161cb70baf9f9dcb983">TextureCaps</a>;
<a name="l00355"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#ab6ad6d88019ce9af0c4c501ffb62d7cc">00355</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#ab6ad6d88019ce9af0c4c501ffb62d7cc">TextureFilterCaps</a>;          <span class="comment">// D3DPTFILTERCAPS for IDirect3DTexture8&#39;s</span>
<a name="l00356"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#acb200288342c60374b9bf1efca6089f8">00356</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#acb200288342c60374b9bf1efca6089f8">CubeTextureFilterCaps</a>;      <span class="comment">// D3DPTFILTERCAPS for IDirect3DCubeTexture8&#39;s</span>
<a name="l00357"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#aec3d5dd47ebe005b92ce89b3a881fa9f">00357</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#aec3d5dd47ebe005b92ce89b3a881fa9f">VolumeTextureFilterCaps</a>;    <span class="comment">// D3DPTFILTERCAPS for IDirect3DVolumeTexture8&#39;s</span>
<a name="l00358"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a296f41165a4754039314df480ef97f17">00358</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a296f41165a4754039314df480ef97f17">TextureAddressCaps</a>;         <span class="comment">// D3DPTADDRESSCAPS for IDirect3DTexture8&#39;s</span>
<a name="l00359"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a4973c6767bf3afd0d3bc7ba0d1813e45">00359</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a4973c6767bf3afd0d3bc7ba0d1813e45">VolumeTextureAddressCaps</a>;   <span class="comment">// D3DPTADDRESSCAPS for IDirect3DVolumeTexture8&#39;s</span>
<a name="l00360"></a>00360 
<a name="l00361"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a1f7ac2d8a6260681f7633338044a398a">00361</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a1f7ac2d8a6260681f7633338044a398a">LineCaps</a>;                   <span class="comment">// D3DLINECAPS</span>
<a name="l00362"></a>00362 
<a name="l00363"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a2c24519a76b52bf0fa57d3080a2ed2c8">00363</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a2c24519a76b52bf0fa57d3080a2ed2c8">MaxTextureWidth</a>, <a class="code" href="struct___d3_d_c_a_p_s8.html#a650892b3b3831989b304e384240d7190">MaxTextureHeight</a>;
<a name="l00364"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a9c2c0ae4f6973aac11603bff2a5a8ed5">00364</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a9c2c0ae4f6973aac11603bff2a5a8ed5">MaxVolumeExtent</a>;
<a name="l00365"></a>00365 
<a name="l00366"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a5dd1603cb54379e21761f967e3558aa5">00366</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a5dd1603cb54379e21761f967e3558aa5">MaxTextureRepeat</a>;
<a name="l00367"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a12c269bd2bcbd01287041e9853d710e3">00367</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a12c269bd2bcbd01287041e9853d710e3">MaxTextureAspectRatio</a>;
<a name="l00368"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a33aa908240808138ff32ddea56ffcbd0">00368</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a33aa908240808138ff32ddea56ffcbd0">MaxAnisotropy</a>;
<a name="l00369"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a75c10167b90516b0fbd00219b34a498a">00369</a>     <span class="keywordtype">float</span>   <a class="code" href="struct___d3_d_c_a_p_s8.html#a75c10167b90516b0fbd00219b34a498a">MaxVertexW</a>;
<a name="l00370"></a>00370 
<a name="l00371"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#ae743f5bca0be340cbb583e7f99cda814">00371</a>     <span class="keywordtype">float</span>   <a class="code" href="struct___d3_d_c_a_p_s8.html#ae743f5bca0be340cbb583e7f99cda814">GuardBandLeft</a>;
<a name="l00372"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#addb1cd6ada147c5387c352461644e7db">00372</a>     <span class="keywordtype">float</span>   <a class="code" href="struct___d3_d_c_a_p_s8.html#addb1cd6ada147c5387c352461644e7db">GuardBandTop</a>;
<a name="l00373"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#ae1d472f79a4556c08a312be7c6883aca">00373</a>     <span class="keywordtype">float</span>   <a class="code" href="struct___d3_d_c_a_p_s8.html#ae1d472f79a4556c08a312be7c6883aca">GuardBandRight</a>;
<a name="l00374"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a73d6f1beb9e545b9c9c29e951780c957">00374</a>     <span class="keywordtype">float</span>   <a class="code" href="struct___d3_d_c_a_p_s8.html#a73d6f1beb9e545b9c9c29e951780c957">GuardBandBottom</a>;
<a name="l00375"></a>00375 
<a name="l00376"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#aaf5be54a5c9b3ae071acb331f945bb81">00376</a>     <span class="keywordtype">float</span>   <a class="code" href="struct___d3_d_c_a_p_s8.html#aaf5be54a5c9b3ae071acb331f945bb81">ExtentsAdjust</a>;
<a name="l00377"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a701e6b4482de25b5726a154bbcf7c61f">00377</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a701e6b4482de25b5726a154bbcf7c61f">StencilCaps</a>;
<a name="l00378"></a>00378 
<a name="l00379"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a818b68c36776787bd379095307dfdd29">00379</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a818b68c36776787bd379095307dfdd29">FVFCaps</a>;
<a name="l00380"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a3993485289e8116e99d04deea7b6d110">00380</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a3993485289e8116e99d04deea7b6d110">TextureOpCaps</a>;
<a name="l00381"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a96984cf5db51d50a80fe36c9e13dbdea">00381</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a96984cf5db51d50a80fe36c9e13dbdea">MaxTextureBlendStages</a>;
<a name="l00382"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a95cd03eaa84742dcd0d1656841fce77a">00382</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a95cd03eaa84742dcd0d1656841fce77a">MaxSimultaneousTextures</a>;
<a name="l00383"></a>00383 
<a name="l00384"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a80759294aff5d403afd53a09d76c81e8">00384</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a80759294aff5d403afd53a09d76c81e8">VertexProcessingCaps</a>;
<a name="l00385"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#abcc39905bd8b5bed3e263912b6af0dc8">00385</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#abcc39905bd8b5bed3e263912b6af0dc8">MaxActiveLights</a>;
<a name="l00386"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#aef6b8f32d5c32602d185bb70f1e3b553">00386</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#aef6b8f32d5c32602d185bb70f1e3b553">MaxUserClipPlanes</a>;
<a name="l00387"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#aeee5f03e8a35e363bd083b3df7cf683c">00387</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#aeee5f03e8a35e363bd083b3df7cf683c">MaxVertexBlendMatrices</a>;
<a name="l00388"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#af513fcfb22ca54db880b25c1aeaf56e7">00388</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#af513fcfb22ca54db880b25c1aeaf56e7">MaxVertexBlendMatrixIndex</a>;
<a name="l00389"></a>00389 
<a name="l00390"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a7359aa054e5576742342aa8f96434e74">00390</a>     <span class="keywordtype">float</span>   <a class="code" href="struct___d3_d_c_a_p_s8.html#a7359aa054e5576742342aa8f96434e74">MaxPointSize</a>;
<a name="l00391"></a>00391 
<a name="l00392"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a1a03cd974aa1e1feab839369dd680729">00392</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a1a03cd974aa1e1feab839369dd680729">MaxPrimitiveCount</a>;          <span class="comment">// max number of primitives per DrawPrimitive call</span>
<a name="l00393"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a024a30a9db2b7a8f8d48d1b07e91c64d">00393</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a024a30a9db2b7a8f8d48d1b07e91c64d">MaxVertexIndex</a>;
<a name="l00394"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a69f3e7928db3e9f82c2d0c751b6ed37b">00394</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a69f3e7928db3e9f82c2d0c751b6ed37b">MaxStreams</a>;
<a name="l00395"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#acd27687be2538ae01a8761f9c98af6ee">00395</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#acd27687be2538ae01a8761f9c98af6ee">MaxStreamStride</a>;            <span class="comment">// max stride for SetStreamSource</span>
<a name="l00396"></a>00396 
<a name="l00397"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a8a120af8c3c49b72ac1ec1986435305b">00397</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a8a120af8c3c49b72ac1ec1986435305b">VertexShaderVersion</a>;
<a name="l00398"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a7f9ee5b351ca62706d20432256cd5fb2">00398</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a7f9ee5b351ca62706d20432256cd5fb2">MaxVertexShaderConst</a>;       <span class="comment">// number of vertex shader constant registers</span>
<a name="l00399"></a>00399 
<a name="l00400"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#a08c08d933fe24ae6d2e1fcf31a8e4510">00400</a>     DWORD   <a class="code" href="struct___d3_d_c_a_p_s8.html#a08c08d933fe24ae6d2e1fcf31a8e4510">PixelShaderVersion</a>;
<a name="l00401"></a><a class="code" href="struct___d3_d_c_a_p_s8.html#ae0d2aaf6b2644b72d1001ad3fe3ee360">00401</a>     <span class="keywordtype">float</span>   <a class="code" href="struct___d3_d_c_a_p_s8.html#ae0d2aaf6b2644b72d1001ad3fe3ee360">MaxPixelShaderValue</a>;        <span class="comment">// max value of pixel shader arithmetic component</span>
<a name="l00402"></a>00402 
<a name="l00403"></a>00403 } <a class="code" href="struct___d3_d_c_a_p_s8.html">D3DCAPS8</a>;
<a name="l00404"></a>00404 
<a name="l00405"></a>00405 <span class="comment">//Some defines to get everything to compile nicely</span>
<a name="l00406"></a><a class="code" href="_wrapper_8hpp.html#a2bba8b27146a002a78736dd4e1c75e3d">00406</a> <span class="preprocessor">#define IDirect3DIndexBuffer8 void</span>
<a name="l00407"></a><a class="code" href="_wrapper_8hpp.html#a2948e9a89ece242fca10c57037f70e4b">00407</a> <span class="preprocessor"></span><span class="preprocessor">#define IDirect3DVertexBuffer8 void</span>
<a name="l00408"></a><a class="code" href="_wrapper_8hpp.html#a8703f4430477604ca60736eaa812b0cf">00408</a> <span class="preprocessor"></span><span class="preprocessor">#define IDirect3DSwapChain8 void</span>
<a name="l00409"></a><a class="code" href="_wrapper_8hpp.html#acbe0a01d656e8a3c57aab59a6b446ce2">00409</a> <span class="preprocessor"></span><span class="preprocessor">#define IDirect3DBaseTexture8 IDirect3DTexture8</span>
<a name="l00410"></a><a class="code" href="_wrapper_8hpp.html#aa493e10599cbc9093b2585ac50e25eca">00410</a> <span class="preprocessor"></span><span class="preprocessor">#define IDirect3DVolumeTexture8 void</span>
<a name="l00411"></a><a class="code" href="_wrapper_8hpp.html#a2c19c14939d1ffb3f7991fdbb468181e">00411</a> <span class="preprocessor"></span><span class="preprocessor">#define IDirect3DCubeTexture8 void</span>
<a name="l00412"></a>00412 <span class="preprocessor"></span>
<a name="l00413"></a><a class="code" href="_wrapper_8hpp.html#a132529751fafeef0a55786b7893eb63c">00413</a> <span class="preprocessor">#define D3DSURFACE_DESC9 D3DSURFACE_DESC</span>
<a name="l00414"></a><a class="code" href="_wrapper_8hpp.html#a0604f04fe31c715e66d2b6ed3eb10d99">00414</a> <span class="preprocessor"></span><span class="preprocessor">#define D3DPRESENT_PARAMETERS9 D3DPRESENT_PARAMETERS</span>
<a name="l00415"></a>00415 <span class="preprocessor"></span>
<a name="l00416"></a>00416 interface IDirect3D8;
<a name="l00417"></a>00417 interface IDirect3DDevice8;
<a name="l00418"></a>00418 interface IDirect3DTexture8;
<a name="l00419"></a>00419 interface IDirect3DSurface8;
<a name="l00420"></a>00420 
<a name="l00421"></a>00421 <span class="comment">//DX8 enums</span>
<a name="l00422"></a><a class="code" href="_wrapper_8hpp.html#a8d43562532e275d490644ad884f90000">00422</a> <span class="preprocessor">#define D3DTSS_ADDRESSU       13</span>
<a name="l00423"></a><a class="code" href="_wrapper_8hpp.html#a2e68ec68aa4a7af9e4ace40d1f233866">00423</a> <span class="preprocessor"></span><span class="preprocessor">#define D3DTSS_ADDRESSV       14</span>
<a name="l00424"></a><a class="code" href="_wrapper_8hpp.html#a227a9afdea6d3213620bcb2ca34992d6">00424</a> <span class="preprocessor"></span><span class="preprocessor">#define D3DTSS_BORDERCOLOR    15</span>
<a name="l00425"></a><a class="code" href="_wrapper_8hpp.html#a4f621ac05922b2ea304c94e0445d5c04">00425</a> <span class="preprocessor"></span><span class="preprocessor">#define D3DTSS_MAGFILTER      16</span>
<a name="l00426"></a><a class="code" href="_wrapper_8hpp.html#af47ef9374011356891e48f98d00a5927">00426</a> <span class="preprocessor"></span><span class="preprocessor">#define D3DTSS_MINFILTER      17</span>
<a name="l00427"></a><a class="code" href="_wrapper_8hpp.html#a902babf5e2ed36bd04d9268a7131de3a">00427</a> <span class="preprocessor"></span><span class="preprocessor">#define D3DTSS_MIPFILTER      18</span>
<a name="l00428"></a><a class="code" href="_wrapper_8hpp.html#a21c322668eded9b7a2e8699c20f15a0b">00428</a> <span class="preprocessor"></span><span class="preprocessor">#define D3DTSS_MIPMAPLODBIAS  19</span>
<a name="l00429"></a><a class="code" href="_wrapper_8hpp.html#a74c50ce3db9310a2d534b6316d4ec1c6">00429</a> <span class="preprocessor"></span><span class="preprocessor">#define D3DTSS_MAXMIPLEVEL    20</span>
<a name="l00430"></a><a class="code" href="_wrapper_8hpp.html#ae6d28c07fddcf9e861b3c8b6ab95ada6">00430</a> <span class="preprocessor"></span><span class="preprocessor">#define D3DTSS_MAXANISOTROPY  21</span>
<a name="l00431"></a><a class="code" href="_wrapper_8hpp.html#a4601a7ffd35a05a0bb1d5eca6b8ac97a">00431</a> <span class="preprocessor"></span><span class="preprocessor">#define D3DTSS_ADDRESSW       25</span>
<a name="l00432"></a>00432 <span class="preprocessor"></span>
<a name="l00433"></a>00433 <span class="comment">//Object crearion functions</span>
<a name="l00434"></a><a class="code" href="_wrapper_8hpp.html#a159c1c5dd916ab95c87b04c6bf036c4c">00434</a> <span class="keyword">typedef</span> IDirect3D8* (*D3DProc8)(UINT);
<a name="l00435"></a><a class="code" href="_wrapper_8hpp.html#a828e3c35253be74bdd62f79bcfda3972">00435</a> <span class="keyword">typedef</span> IDirect3D9* (*D3DProc9)(UINT);
<a name="l00436"></a>00436 
<a name="l00437"></a>00437 <span class="comment">//DX8 structs</span>
<a name="l00438"></a><a class="code" href="struct___d3_d_a_d_a_p_t_e_r___i_d_e_n_t_i_f_i_e_r8.html">00438</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct___d3_d_a_d_a_p_t_e_r___i_d_e_n_t_i_f_i_e_r8.html">_D3DADAPTER_IDENTIFIER8</a>
<a name="l00439"></a>00439 {
<a name="l00440"></a><a class="code" href="struct___d3_d_a_d_a_p_t_e_r___i_d_e_n_t_i_f_i_e_r8.html#a86d764c00ad2be2483806d54c9896c37">00440</a>     <span class="keywordtype">char</span>            <a class="code" href="struct___d3_d_a_d_a_p_t_e_r___i_d_e_n_t_i_f_i_e_r8.html#a86d764c00ad2be2483806d54c9896c37">Driver</a>[MAX_DEVICE_IDENTIFIER_STRING];
<a name="l00441"></a><a class="code" href="struct___d3_d_a_d_a_p_t_e_r___i_d_e_n_t_i_f_i_e_r8.html#aef6d42a90bd0026cd9728b51e98383d4">00441</a>     <span class="keywordtype">char</span>            <a class="code" href="struct___d3_d_a_d_a_p_t_e_r___i_d_e_n_t_i_f_i_e_r8.html#aef6d42a90bd0026cd9728b51e98383d4">Description</a>[MAX_DEVICE_IDENTIFIER_STRING];
<a name="l00442"></a>00442 
<a name="l00443"></a><a class="code" href="struct___d3_d_a_d_a_p_t_e_r___i_d_e_n_t_i_f_i_e_r8.html#a2448e864919bc081adc5526b95d41cab">00443</a>     LARGE_INTEGER   <a class="code" href="struct___d3_d_a_d_a_p_t_e_r___i_d_e_n_t_i_f_i_e_r8.html#a2448e864919bc081adc5526b95d41cab">DriverVersion</a>;
<a name="l00444"></a>00444 
<a name="l00445"></a><a class="code" href="struct___d3_d_a_d_a_p_t_e_r___i_d_e_n_t_i_f_i_e_r8.html#a9e07151e8c7cc9cf60e96904181ff26a">00445</a>     DWORD           <a class="code" href="struct___d3_d_a_d_a_p_t_e_r___i_d_e_n_t_i_f_i_e_r8.html#a9e07151e8c7cc9cf60e96904181ff26a">VendorId</a>;
<a name="l00446"></a><a class="code" href="struct___d3_d_a_d_a_p_t_e_r___i_d_e_n_t_i_f_i_e_r8.html#acf1f03c9f225c21f3af3b78b79b8e0fd">00446</a>     DWORD           <a class="code" href="struct___d3_d_a_d_a_p_t_e_r___i_d_e_n_t_i_f_i_e_r8.html#acf1f03c9f225c21f3af3b78b79b8e0fd">DeviceId</a>;
<a name="l00447"></a><a class="code" href="struct___d3_d_a_d_a_p_t_e_r___i_d_e_n_t_i_f_i_e_r8.html#a7d2d5fd004e5f68226a5eb62d0d5a4bc">00447</a>     DWORD           <a class="code" href="struct___d3_d_a_d_a_p_t_e_r___i_d_e_n_t_i_f_i_e_r8.html#a7d2d5fd004e5f68226a5eb62d0d5a4bc">SubSysId</a>;
<a name="l00448"></a><a class="code" href="struct___d3_d_a_d_a_p_t_e_r___i_d_e_n_t_i_f_i_e_r8.html#a7632de235a29d0abd2bb328580fe5747">00448</a>     DWORD           <a class="code" href="struct___d3_d_a_d_a_p_t_e_r___i_d_e_n_t_i_f_i_e_r8.html#a7632de235a29d0abd2bb328580fe5747">Revision</a>;
<a name="l00449"></a>00449 
<a name="l00450"></a><a class="code" href="struct___d3_d_a_d_a_p_t_e_r___i_d_e_n_t_i_f_i_e_r8.html#abc037bbe7efc7e8774d0094381fa678c">00450</a>     GUID            <a class="code" href="struct___d3_d_a_d_a_p_t_e_r___i_d_e_n_t_i_f_i_e_r8.html#abc037bbe7efc7e8774d0094381fa678c">DeviceIdentifier</a>;
<a name="l00451"></a>00451 
<a name="l00452"></a><a class="code" href="struct___d3_d_a_d_a_p_t_e_r___i_d_e_n_t_i_f_i_e_r8.html#a2d2f5efa52a3ec2a027cd03e1af7e2fd">00452</a>     DWORD           <a class="code" href="struct___d3_d_a_d_a_p_t_e_r___i_d_e_n_t_i_f_i_e_r8.html#a2d2f5efa52a3ec2a027cd03e1af7e2fd">WHQLLevel</a>;
<a name="l00453"></a>00453 
<a name="l00454"></a>00454 } <a class="code" href="struct___d3_d_a_d_a_p_t_e_r___i_d_e_n_t_i_f_i_e_r8.html">D3DADAPTER_IDENTIFIER8</a>;
<a name="l00455"></a><a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html">00455</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html">_D3DPRESENT_PARAMETERS8_</a>
<a name="l00456"></a>00456 {
<a name="l00457"></a><a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html#ac724056834a50cf1abf9667fcf669ac4">00457</a>     UINT                <a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html#ac724056834a50cf1abf9667fcf669ac4">BackBufferWidth</a>;
<a name="l00458"></a><a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html#a5ecebc829744442c2486fec7ccf258b4">00458</a>     UINT                <a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html#a5ecebc829744442c2486fec7ccf258b4">BackBufferHeight</a>;
<a name="l00459"></a><a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html#aa59a1dc06f1bb00dc59b37d92d32d6b6">00459</a>     D3DFORMAT           <a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html#aa59a1dc06f1bb00dc59b37d92d32d6b6">BackBufferFormat</a>;
<a name="l00460"></a><a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html#a0d0660e554c1c791bb170406794ad9be">00460</a>     UINT                <a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html#a0d0660e554c1c791bb170406794ad9be">BackBufferCount</a>;
<a name="l00461"></a>00461 
<a name="l00462"></a><a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html#a1f57ad7da0324b3948b25b69f2431e5a">00462</a>     D3DMULTISAMPLE_TYPE <a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html#a1f57ad7da0324b3948b25b69f2431e5a">MultiSampleType</a>;
<a name="l00463"></a>00463 
<a name="l00464"></a><a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html#a9374b55437b94b1bbaef854fc9299d45">00464</a>     D3DSWAPEFFECT       <a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html#a9374b55437b94b1bbaef854fc9299d45">SwapEffect</a>;
<a name="l00465"></a><a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html#a248091d75b3eba9b67dd82eb9fb9957b">00465</a>     HWND                <a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html#a248091d75b3eba9b67dd82eb9fb9957b">hDeviceWindow</a>;
<a name="l00466"></a><a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html#a2bcc288fa1fd90760bed8c3dac31d408">00466</a>     BOOL                <a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html#a2bcc288fa1fd90760bed8c3dac31d408">Windowed</a>;
<a name="l00467"></a><a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html#a086a5094fedaf2d36e90d5f773d5e7af">00467</a>     BOOL                <a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html#a086a5094fedaf2d36e90d5f773d5e7af">EnableAutoDepthStencil</a>;
<a name="l00468"></a><a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html#a7eaad41bf69401524cf19fd5275d38e4">00468</a>     D3DFORMAT           <a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html#a7eaad41bf69401524cf19fd5275d38e4">AutoDepthStencilFormat</a>;
<a name="l00469"></a><a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html#a8666139cb242168804f6f891f965d4be">00469</a>     DWORD               <a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html#a8666139cb242168804f6f891f965d4be">Flags</a>;
<a name="l00470"></a>00470 
<a name="l00471"></a>00471     <span class="comment">/* Following elements must be zero for Windowed mode */</span>
<a name="l00472"></a><a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html#af22d9cb94d35418c316fd60acad702bd">00472</a>     UINT                <a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html#af22d9cb94d35418c316fd60acad702bd">FullScreen_RefreshRateInHz</a>;
<a name="l00473"></a><a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html#acb69766883d02bee4a30bd386671352e">00473</a>     UINT                <a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html#acb69766883d02bee4a30bd386671352e">FullScreen_PresentationInterval</a>;
<a name="l00474"></a>00474 
<a name="l00475"></a>00475 } <a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html">D3DPRESENT_PARAMETERS8</a>;
<a name="l00476"></a><a class="code" href="struct___d3_d_s_u_r_f_a_c_e___d_e_s_c8.html">00476</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct___d3_d_s_u_r_f_a_c_e___d_e_s_c8.html">_D3DSURFACE_DESC8</a>
<a name="l00477"></a>00477 {
<a name="l00478"></a><a class="code" href="struct___d3_d_s_u_r_f_a_c_e___d_e_s_c8.html#af3122a78bd5fff053bb38c25e71b9187">00478</a>     D3DFORMAT           <a class="code" href="struct___d3_d_s_u_r_f_a_c_e___d_e_s_c8.html#af3122a78bd5fff053bb38c25e71b9187">Format</a>;
<a name="l00479"></a><a class="code" href="struct___d3_d_s_u_r_f_a_c_e___d_e_s_c8.html#a88fa92873bb11fd548f4315435208d14">00479</a>     D3DRESOURCETYPE     <a class="code" href="struct___d3_d_s_u_r_f_a_c_e___d_e_s_c8.html#a88fa92873bb11fd548f4315435208d14">Type</a>;
<a name="l00480"></a><a class="code" href="struct___d3_d_s_u_r_f_a_c_e___d_e_s_c8.html#a5f69077f229d72e3c14f967a441dec4e">00480</a>     DWORD               <a class="code" href="struct___d3_d_s_u_r_f_a_c_e___d_e_s_c8.html#a5f69077f229d72e3c14f967a441dec4e">Usage</a>;
<a name="l00481"></a><a class="code" href="struct___d3_d_s_u_r_f_a_c_e___d_e_s_c8.html#a1f6e47b40065bc57c5e02b3a66b173c1">00481</a>     D3DPOOL             <a class="code" href="struct___d3_d_s_u_r_f_a_c_e___d_e_s_c8.html#a1f6e47b40065bc57c5e02b3a66b173c1">Pool</a>;
<a name="l00482"></a><a class="code" href="struct___d3_d_s_u_r_f_a_c_e___d_e_s_c8.html#a9103826f1912e7de36ea21af89e9bd70">00482</a>     UINT                <a class="code" href="struct___d3_d_s_u_r_f_a_c_e___d_e_s_c8.html#a9103826f1912e7de36ea21af89e9bd70">Size</a>;
<a name="l00483"></a>00483 
<a name="l00484"></a><a class="code" href="struct___d3_d_s_u_r_f_a_c_e___d_e_s_c8.html#a490dacf99f9ff7c7ffdce41d97753ab8">00484</a>     D3DMULTISAMPLE_TYPE <a class="code" href="struct___d3_d_s_u_r_f_a_c_e___d_e_s_c8.html#a490dacf99f9ff7c7ffdce41d97753ab8">MultiSampleType</a>;
<a name="l00485"></a><a class="code" href="struct___d3_d_s_u_r_f_a_c_e___d_e_s_c8.html#acabe9ed2b77c1a721c47768a47f5471b">00485</a>     UINT                <a class="code" href="struct___d3_d_s_u_r_f_a_c_e___d_e_s_c8.html#acabe9ed2b77c1a721c47768a47f5471b">Width</a>;
<a name="l00486"></a><a class="code" href="struct___d3_d_s_u_r_f_a_c_e___d_e_s_c8.html#ae775728180cab928016b073c933db803">00486</a>     UINT                <a class="code" href="struct___d3_d_s_u_r_f_a_c_e___d_e_s_c8.html#ae775728180cab928016b073c933db803">Height</a>;
<a name="l00487"></a>00487 } <a class="code" href="struct___d3_d_s_u_r_f_a_c_e___d_e_s_c8.html">D3DSURFACE_DESC8</a>;
<a name="l00488"></a>00488 
<a name="l00489"></a>00489 <span class="comment">//DX8 interface declerations</span>
<a name="l00490"></a><a class="code" href="_wrapper_8hpp.html#aa22c2b3f91c12f6e1bc0e2c82a322e7c">00490</a> <a class="code" href="_wrapper_8hpp.html#aa22c2b3f91c12f6e1bc0e2c82a322e7c">DECLARE_INTERFACE_</a>(IDirect3DSurface8, IUnknown)
<a name="l00491"></a>00491 {
<a name="l00492"></a>00492     <span class="comment">/*** IUnknown methods ***/</span>
<a name="l00493"></a>00493     STDMETHOD(QueryInterface)(REFIID riid, <span class="keywordtype">void</span>** ppvObj) PURE;
<a name="l00494"></a>00494     STDMETHOD_(ULONG,AddRef)() PURE;
<a name="l00495"></a>00495     STDMETHOD_(ULONG,Release)() PURE;
<a name="l00496"></a>00496 
<a name="l00497"></a>00497     <span class="comment">/*** IDirect3DSurface8 methods ***/</span>
<a name="l00498"></a>00498     STDMETHOD(GetDevice)(IDirect3DDevice8** ppDevice) PURE;
<a name="l00499"></a>00499     STDMETHOD(SetPrivateData)(REFGUID refguid,CONST <span class="keywordtype">void</span>* pData,DWORD SizeOfData,DWORD Flags) PURE;
<a name="l00500"></a>00500     STDMETHOD(GetPrivateData)(REFGUID refguid,<span class="keywordtype">void</span>* pData,DWORD* pSizeOfData) PURE;
<a name="l00501"></a>00501     STDMETHOD(FreePrivateData)(REFGUID refguid) PURE;
<a name="l00502"></a>00502     STDMETHOD(GetContainer)(REFIID riid,<span class="keywordtype">void</span>** ppContainer) PURE;
<a name="l00503"></a>00503     STDMETHOD(GetDesc)(<a class="code" href="struct___d3_d_s_u_r_f_a_c_e___d_e_s_c8.html">D3DSURFACE_DESC8</a> *pDesc) PURE;
<a name="l00504"></a>00504     STDMETHOD(LockRect)(D3DLOCKED_RECT* pLockedRect,CONST RECT* pRect,DWORD Flags) PURE;
<a name="l00505"></a>00505     STDMETHOD(UnlockRect)() PURE;
<a name="l00506"></a>00506 };
<a name="l00507"></a>00507 
<a name="l00508"></a><a class="code" href="_wrapper_8hpp.html#a6c4236873567d84a0273aa9d3fa3e306">00508</a> <a class="code" href="_wrapper_8hpp.html#aa22c2b3f91c12f6e1bc0e2c82a322e7c">DECLARE_INTERFACE_</a>(IDirect3DTexture8, IUnknown)
<a name="l00509"></a>00509 {
<a name="l00510"></a>00510     <span class="comment">/*** IUnknown methods ***/</span>
<a name="l00511"></a>00511     STDMETHOD(QueryInterface)(REFIID riid, <span class="keywordtype">void</span>** ppvObj) PURE;
<a name="l00512"></a>00512     STDMETHOD_(ULONG,AddRef)() PURE;
<a name="l00513"></a>00513     STDMETHOD_(ULONG,Release)() PURE;
<a name="l00514"></a>00514 
<a name="l00515"></a>00515     <span class="comment">/*** IDirect3DBaseTexture8 methods ***/</span>
<a name="l00516"></a>00516     STDMETHOD(GetDevice)(IDirect3DDevice8** ppDevice) PURE;
<a name="l00517"></a>00517     STDMETHOD(SetPrivateData)(REFGUID refguid,CONST <span class="keywordtype">void</span>* pData,DWORD SizeOfData,DWORD Flags) PURE;
<a name="l00518"></a>00518     STDMETHOD(GetPrivateData)(REFGUID refguid,<span class="keywordtype">void</span>* pData,DWORD* pSizeOfData) PURE;
<a name="l00519"></a>00519     STDMETHOD(FreePrivateData)(REFGUID refguid) PURE;
<a name="l00520"></a>00520     STDMETHOD_(DWORD, SetPriority)(DWORD PriorityNew) PURE;
<a name="l00521"></a>00521     STDMETHOD_(DWORD, GetPriority)() PURE;
<a name="l00522"></a>00522     STDMETHOD_(<span class="keywordtype">void</span>, PreLoad)() PURE;
<a name="l00523"></a>00523     STDMETHOD_(D3DRESOURCETYPE, GetType)() PURE;
<a name="l00524"></a>00524     STDMETHOD_(DWORD, SetLOD)(DWORD LODNew) PURE;
<a name="l00525"></a>00525     STDMETHOD_(DWORD, GetLOD)() PURE;
<a name="l00526"></a>00526     STDMETHOD_(DWORD, GetLevelCount)() PURE;
<a name="l00527"></a>00527     STDMETHOD(GetLevelDesc)(UINT Level,<a class="code" href="struct___d3_d_s_u_r_f_a_c_e___d_e_s_c8.html">D3DSURFACE_DESC8</a> *pDesc) PURE;
<a name="l00528"></a>00528     STDMETHOD(GetSurfaceLevel)(UINT Level,IDirect3DSurface8** ppSurfaceLevel) PURE;
<a name="l00529"></a>00529     STDMETHOD(LockRect)(UINT Level,D3DLOCKED_RECT* pLockedRect,CONST RECT* pRect,DWORD Flags) PURE;
<a name="l00530"></a>00530     STDMETHOD(UnlockRect)(UINT Level) PURE;
<a name="l00531"></a>00531     STDMETHOD(AddDirtyRect)(CONST RECT* pDirtyRect) PURE;
<a name="l00532"></a>00532 };
<a name="l00533"></a>00533 
<a name="l00534"></a><a class="code" href="_wrapper_8hpp.html#a102980ee508ecde7e23764971d0707bc">00534</a> <a class="code" href="_wrapper_8hpp.html#aa22c2b3f91c12f6e1bc0e2c82a322e7c">DECLARE_INTERFACE_</a>(IDirect3DDevice8, IUnknown)
<a name="l00535"></a>00535 {
<a name="l00536"></a>00536     <span class="comment">/*** IUnknown methods ***/</span>
<a name="l00537"></a>00537     STDMETHOD(QueryInterface)(REFIID riid, <span class="keywordtype">void</span>** ppvObj) PURE;
<a name="l00538"></a>00538     STDMETHOD_(ULONG,AddRef)() PURE;
<a name="l00539"></a>00539     STDMETHOD_(ULONG,Release)() PURE;
<a name="l00540"></a>00540 
<a name="l00541"></a>00541     <span class="comment">/*** IDirect3DDevice8 methods ***/</span>
<a name="l00542"></a>00542     STDMETHOD(TestCooperativeLevel)() PURE;
<a name="l00543"></a>00543     STDMETHOD_(UINT, GetAvailableTextureMem)() PURE;
<a name="l00544"></a>00544     STDMETHOD(ResourceManagerDiscardBytes)(DWORD Bytes) PURE;
<a name="l00545"></a>00545     STDMETHOD(GetDirect3D)(IDirect3D8** ppD3D8) PURE;
<a name="l00546"></a>00546     STDMETHOD(GetDeviceCaps)(<a class="code" href="struct___d3_d_c_a_p_s8.html">D3DCAPS8</a>* pCaps) PURE;
<a name="l00547"></a>00547     STDMETHOD(GetDisplayMode)(D3DDISPLAYMODE* pMode) PURE;
<a name="l00548"></a>00548     STDMETHOD(GetCreationParameters)(D3DDEVICE_CREATION_PARAMETERS *pParameters) PURE;
<a name="l00549"></a>00549     STDMETHOD(SetCursorProperties)(UINT XHotSpot,UINT YHotSpot,IDirect3DSurface8* pCursorBitmap) PURE;
<a name="l00550"></a>00550     STDMETHOD_(<span class="keywordtype">void</span>, SetCursorPosition)(<span class="keywordtype">int</span> X,<span class="keywordtype">int</span> Y,DWORD Flags) PURE;
<a name="l00551"></a>00551     STDMETHOD_(BOOL, ShowCursor)(BOOL bShow) PURE;
<a name="l00552"></a>00552     STDMETHOD(CreateAdditionalSwapChain)(<a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html">D3DPRESENT_PARAMETERS8</a>* pPresentationParameters,<a class="code" href="_wrapper_8hpp.html#a8703f4430477604ca60736eaa812b0cf">IDirect3DSwapChain8</a>** pSwapChain) PURE;
<a name="l00553"></a>00553     STDMETHOD(Reset)(<a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html">D3DPRESENT_PARAMETERS8</a>* pPresentationParameters) PURE;
<a name="l00554"></a>00554     STDMETHOD(Present)(CONST RECT* pSourceRect,CONST RECT* pDestRect,HWND hDestWindowOverride,CONST RGNDATA* pDirtyRegion) PURE;
<a name="l00555"></a>00555     STDMETHOD(GetBackBuffer)(UINT BackBuffer,D3DBACKBUFFER_TYPE Type,IDirect3DSurface8** ppBackBuffer) PURE;
<a name="l00556"></a>00556     STDMETHOD(GetRasterStatus)(D3DRASTER_STATUS* pRasterStatus) PURE;
<a name="l00557"></a>00557     STDMETHOD_(<span class="keywordtype">void</span>, SetGammaRamp)(DWORD Flags,CONST D3DGAMMARAMP* pRamp) PURE;
<a name="l00558"></a>00558     STDMETHOD_(<span class="keywordtype">void</span>, GetGammaRamp)(D3DGAMMARAMP* pRamp) PURE;
<a name="l00559"></a>00559     STDMETHOD(CreateTexture)(UINT Width,UINT Height,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DTexture8** ppTexture) PURE;
<a name="l00560"></a>00560     STDMETHOD(CreateVolumeTexture)(UINT Width,UINT Height,UINT Depth,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,<a class="code" href="_wrapper_8hpp.html#aa493e10599cbc9093b2585ac50e25eca">IDirect3DVolumeTexture8</a>** ppVolumeTexture) PURE;
<a name="l00561"></a>00561     STDMETHOD(CreateCubeTexture)(UINT EdgeLength,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,<a class="code" href="_wrapper_8hpp.html#a2c19c14939d1ffb3f7991fdbb468181e">IDirect3DCubeTexture8</a>** ppCubeTexture) PURE;
<a name="l00562"></a>00562     STDMETHOD(CreateVertexBuffer)(UINT Length,DWORD Usage,DWORD FVF,D3DPOOL Pool,<a class="code" href="_wrapper_8hpp.html#a2948e9a89ece242fca10c57037f70e4b">IDirect3DVertexBuffer8</a>** ppVertexBuffer) PURE;
<a name="l00563"></a>00563     STDMETHOD(CreateIndexBuffer)(UINT Length,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,<a class="code" href="_wrapper_8hpp.html#a2bba8b27146a002a78736dd4e1c75e3d">IDirect3DIndexBuffer8</a>** ppIndexBuffer) PURE;
<a name="l00564"></a>00564     STDMETHOD(CreateRenderTarget)(UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,BOOL Lockable,IDirect3DSurface8** ppSurface) PURE;
<a name="l00565"></a>00565     STDMETHOD(CreateDepthStencilSurface)(UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,IDirect3DSurface8** ppSurface) PURE;
<a name="l00566"></a>00566     STDMETHOD(CreateImageSurface)(UINT Width,UINT Height,D3DFORMAT Format,IDirect3DSurface8** ppSurface) PURE;
<a name="l00567"></a>00567     STDMETHOD(CopyRects)(IDirect3DSurface8* pSourceSurface,CONST RECT* pSourceRectsArray,UINT cRects,IDirect3DSurface8* pDestinationSurface,CONST POINT* pDestPointsArray) PURE;
<a name="l00568"></a>00568     STDMETHOD(UpdateTexture)(<a class="code" href="_wrapper_8hpp.html#acbe0a01d656e8a3c57aab59a6b446ce2">IDirect3DBaseTexture8</a>* pSourceTexture,<a class="code" href="_wrapper_8hpp.html#acbe0a01d656e8a3c57aab59a6b446ce2">IDirect3DBaseTexture8</a>* pDestinationTexture) PURE;
<a name="l00569"></a>00569     STDMETHOD(GetFrontBuffer)(IDirect3DSurface8* pDestSurface) PURE;
<a name="l00570"></a>00570     STDMETHOD(SetRenderTarget)(IDirect3DSurface8* pRenderTarget,IDirect3DSurface8* pNewZStencil) PURE;
<a name="l00571"></a>00571     STDMETHOD(GetRenderTarget)(IDirect3DSurface8** ppRenderTarget) PURE;
<a name="l00572"></a>00572     STDMETHOD(GetDepthStencilSurface)(IDirect3DSurface8** ppZStencilSurface) PURE;
<a name="l00573"></a>00573     STDMETHOD(BeginScene)() PURE;
<a name="l00574"></a>00574     STDMETHOD(EndScene)() PURE;
<a name="l00575"></a>00575     STDMETHOD(Clear)(DWORD Count,CONST D3DRECT* pRects,DWORD Flags,D3DCOLOR Color,<span class="keywordtype">float</span> Z,DWORD Stencil) PURE;
<a name="l00576"></a>00576     STDMETHOD(SetTransform)(D3DTRANSFORMSTATETYPE State,CONST D3DMATRIX* pMatrix) PURE;
<a name="l00577"></a>00577     STDMETHOD(GetTransform)(D3DTRANSFORMSTATETYPE State,D3DMATRIX* pMatrix) PURE;
<a name="l00578"></a>00578     STDMETHOD(MultiplyTransform)(D3DTRANSFORMSTATETYPE,CONST D3DMATRIX*) PURE;
<a name="l00579"></a>00579     STDMETHOD(SetViewport)(CONST D3DVIEWPORT9* pViewport) PURE;
<a name="l00580"></a>00580     STDMETHOD(GetViewport)(D3DVIEWPORT9* pViewport) PURE;
<a name="l00581"></a>00581     STDMETHOD(SetMaterial)(CONST D3DMATERIAL9* pMaterial) PURE;
<a name="l00582"></a>00582     STDMETHOD(GetMaterial)(D3DMATERIAL9* pMaterial) PURE;
<a name="l00583"></a>00583     STDMETHOD(SetLight)(DWORD Index,CONST D3DLIGHT9*) PURE;
<a name="l00584"></a>00584     STDMETHOD(GetLight)(DWORD Index,D3DLIGHT9*) PURE;
<a name="l00585"></a>00585     STDMETHOD(LightEnable)(DWORD Index,BOOL Enable) PURE;
<a name="l00586"></a>00586     STDMETHOD(GetLightEnable)(DWORD Index,BOOL* pEnable) PURE;
<a name="l00587"></a>00587     STDMETHOD(SetClipPlane)(DWORD Index,CONST <span class="keywordtype">float</span>* pPlane) PURE;
<a name="l00588"></a>00588     STDMETHOD(GetClipPlane)(DWORD Index,<span class="keywordtype">float</span>* pPlane) PURE;
<a name="l00589"></a>00589     STDMETHOD(SetRenderState)(D3DRENDERSTATETYPE State,DWORD Value) PURE;
<a name="l00590"></a>00590     STDMETHOD(GetRenderState)(D3DRENDERSTATETYPE State,DWORD* pValue) PURE;
<a name="l00591"></a>00591     STDMETHOD(BeginStateBlock)() PURE;
<a name="l00592"></a>00592     STDMETHOD(EndStateBlock)(DWORD* pToken) PURE;
<a name="l00593"></a>00593     STDMETHOD(ApplyStateBlock)(DWORD Token) PURE;
<a name="l00594"></a>00594     STDMETHOD(CaptureStateBlock)(DWORD Token) PURE;
<a name="l00595"></a>00595     STDMETHOD(DeleteStateBlock)(DWORD Token) PURE;
<a name="l00596"></a>00596     STDMETHOD(CreateStateBlock)(D3DSTATEBLOCKTYPE Type,DWORD* pToken) PURE;
<a name="l00597"></a>00597     STDMETHOD(SetClipStatus)(CONST D3DCLIPSTATUS9* pClipStatus) PURE;
<a name="l00598"></a>00598     STDMETHOD(GetClipStatus)(D3DCLIPSTATUS9* pClipStatus) PURE;
<a name="l00599"></a>00599     STDMETHOD(GetTexture)(DWORD Stage,<a class="code" href="_wrapper_8hpp.html#acbe0a01d656e8a3c57aab59a6b446ce2">IDirect3DBaseTexture8</a>** ppTexture) PURE;
<a name="l00600"></a>00600     STDMETHOD(SetTexture)(DWORD Stage,<a class="code" href="_wrapper_8hpp.html#acbe0a01d656e8a3c57aab59a6b446ce2">IDirect3DBaseTexture8</a>* pTexture) PURE;
<a name="l00601"></a>00601     STDMETHOD(GetTextureStageState)(DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD* pValue) PURE;
<a name="l00602"></a>00602     STDMETHOD(SetTextureStageState)(DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD Value) PURE;
<a name="l00603"></a>00603     STDMETHOD(ValidateDevice)(DWORD* pNumPasses) PURE;
<a name="l00604"></a>00604     STDMETHOD(GetInfo)(DWORD DevInfoID,<span class="keywordtype">void</span>* pDevInfoStruct,DWORD DevInfoStructSize) PURE;
<a name="l00605"></a>00605     STDMETHOD(SetPaletteEntries)(UINT PaletteNumber,CONST PALETTEENTRY* pEntries) PURE;
<a name="l00606"></a>00606     STDMETHOD(GetPaletteEntries)(UINT PaletteNumber,PALETTEENTRY* pEntries) PURE;
<a name="l00607"></a>00607     STDMETHOD(SetCurrentTexturePalette)(UINT PaletteNumber) PURE;
<a name="l00608"></a>00608     STDMETHOD(GetCurrentTexturePalette)(UINT *PaletteNumber) PURE;
<a name="l00609"></a>00609     STDMETHOD(DrawPrimitive)(D3DPRIMITIVETYPE PrimitiveType,UINT StartVertex,UINT PrimitiveCount) PURE;
<a name="l00610"></a>00610     STDMETHOD(DrawIndexedPrimitive)(D3DPRIMITIVETYPE,UINT minIndex,UINT NumVertices,UINT startIndex,UINT primCount) PURE;
<a name="l00611"></a>00611     STDMETHOD(DrawPrimitiveUP)(D3DPRIMITIVETYPE PrimitiveType,UINT PrimitiveCount,CONST <span class="keywordtype">void</span>* pVertexStreamZeroData,UINT VertexStreamZeroStride) PURE;
<a name="l00612"></a>00612     STDMETHOD(DrawIndexedPrimitiveUP)(D3DPRIMITIVETYPE PrimitiveType,UINT MinVertexIndex,UINT NumVertexIndices,UINT PrimitiveCount,CONST <span class="keywordtype">void</span>* pIndexData,D3DFORMAT IndexDataFormat,CONST <span class="keywordtype">void</span>* pVertexStreamZeroData,UINT VertexStreamZeroStride) PURE;
<a name="l00613"></a>00613     STDMETHOD(ProcessVertices)(UINT SrcStartIndex,UINT DestIndex,UINT VertexCount,<a class="code" href="_wrapper_8hpp.html#a2948e9a89ece242fca10c57037f70e4b">IDirect3DVertexBuffer8</a>* pDestBuffer,DWORD Flags) PURE;
<a name="l00614"></a>00614     STDMETHOD(CreateVertexShader)(CONST DWORD* pDeclaration,CONST DWORD* pFunction,DWORD* pHandle,DWORD Usage) PURE;
<a name="l00615"></a>00615     STDMETHOD(SetVertexShader)(DWORD Handle) PURE;
<a name="l00616"></a>00616     STDMETHOD(GetVertexShader)(DWORD* pHandle) PURE;
<a name="l00617"></a>00617     STDMETHOD(DeleteVertexShader)(DWORD Handle) PURE;
<a name="l00618"></a>00618     STDMETHOD(SetVertexShaderConstant)(DWORD Register,CONST <span class="keywordtype">void</span>* pConstantData,DWORD ConstantCount) PURE;
<a name="l00619"></a>00619     STDMETHOD(GetVertexShaderConstant)(DWORD Register,<span class="keywordtype">void</span>* pConstantData,DWORD ConstantCount) PURE;
<a name="l00620"></a>00620     STDMETHOD(GetVertexShaderDeclaration)(DWORD Handle,<span class="keywordtype">void</span>* pData,DWORD* pSizeOfData) PURE;
<a name="l00621"></a>00621     STDMETHOD(GetVertexShaderFunction)(DWORD Handle,<span class="keywordtype">void</span>* pData,DWORD* pSizeOfData) PURE;
<a name="l00622"></a>00622     STDMETHOD(SetStreamSource)(UINT StreamNumber,<a class="code" href="_wrapper_8hpp.html#a2948e9a89ece242fca10c57037f70e4b">IDirect3DVertexBuffer8</a>* pStreamData,UINT Stride) PURE;
<a name="l00623"></a>00623     STDMETHOD(GetStreamSource)(UINT StreamNumber,<a class="code" href="_wrapper_8hpp.html#a2948e9a89ece242fca10c57037f70e4b">IDirect3DVertexBuffer8</a>** ppStreamData,UINT* pStride) PURE;
<a name="l00624"></a>00624     STDMETHOD(SetIndices)(<a class="code" href="_wrapper_8hpp.html#a2bba8b27146a002a78736dd4e1c75e3d">IDirect3DIndexBuffer8</a>* pIndexData,UINT BaseVertexIndex) PURE;
<a name="l00625"></a>00625     STDMETHOD(GetIndices)(<a class="code" href="_wrapper_8hpp.html#a2bba8b27146a002a78736dd4e1c75e3d">IDirect3DIndexBuffer8</a>** ppIndexData,UINT* pBaseVertexIndex) PURE;
<a name="l00626"></a>00626     STDMETHOD(CreatePixelShader)(CONST DWORD* pFunction,DWORD* pHandle) PURE;
<a name="l00627"></a>00627     STDMETHOD(SetPixelShader)(DWORD Handle) PURE;
<a name="l00628"></a>00628     STDMETHOD(GetPixelShader)(DWORD* pHandle) PURE;
<a name="l00629"></a>00629     STDMETHOD(DeletePixelShader)(DWORD Handle) PURE;
<a name="l00630"></a>00630     STDMETHOD(SetPixelShaderConstant)(DWORD Register,CONST <span class="keywordtype">void</span>* pConstantData,DWORD ConstantCount) PURE;
<a name="l00631"></a>00631     STDMETHOD(GetPixelShaderConstant)(DWORD Register,<span class="keywordtype">void</span>* pConstantData,DWORD ConstantCount) PURE;
<a name="l00632"></a>00632     STDMETHOD(GetPixelShaderFunction)(DWORD Handle,<span class="keywordtype">void</span>* pData,DWORD* pSizeOfData) PURE;
<a name="l00633"></a>00633     STDMETHOD(DrawRectPatch)(UINT Handle,CONST <span class="keywordtype">float</span>* pNumSegs,CONST D3DRECTPATCH_INFO* pRectPatchInfo) PURE;
<a name="l00634"></a>00634     STDMETHOD(DrawTriPatch)(UINT Handle,CONST <span class="keywordtype">float</span>* pNumSegs,CONST D3DTRIPATCH_INFO* pTriPatchInfo) PURE;
<a name="l00635"></a>00635     STDMETHOD(DeletePatch)(UINT Handle) PURE;
<a name="l00636"></a>00636 };
<a name="l00637"></a>00637 
<a name="l00638"></a><a class="code" href="_wrapper_8hpp.html#a8debee3c1021126afc85d377999edecc">00638</a> <a class="code" href="_wrapper_8hpp.html#aa22c2b3f91c12f6e1bc0e2c82a322e7c">DECLARE_INTERFACE_</a>(IDirect3D8, IUnknown)
<a name="l00639"></a>00639 {
<a name="l00640"></a>00640     <span class="comment">/*** IUnknown methods ***/</span>
<a name="l00641"></a>00641     STDMETHOD(QueryInterface)(REFIID riid, <span class="keywordtype">void</span>** ppvObj) PURE;
<a name="l00642"></a>00642     STDMETHOD_(ULONG,AddRef)() PURE;
<a name="l00643"></a>00643     STDMETHOD_(ULONG,Release)() PURE;
<a name="l00644"></a>00644 
<a name="l00645"></a>00645     <span class="comment">/*** IDirect3D8 methods ***/</span>
<a name="l00646"></a>00646     STDMETHOD(RegisterSoftwareDevice)(<span class="keywordtype">void</span>* pInitializeFunction) PURE;
<a name="l00647"></a>00647     STDMETHOD_(UINT, GetAdapterCount)() PURE;
<a name="l00648"></a>00648     STDMETHOD(GetAdapterIdentifier)(UINT Adapter,DWORD Flags,<a class="code" href="struct___d3_d_a_d_a_p_t_e_r___i_d_e_n_t_i_f_i_e_r8.html">D3DADAPTER_IDENTIFIER8</a>* pIdentifier) PURE;
<a name="l00649"></a>00649     STDMETHOD_(UINT, GetAdapterModeCount)(UINT Adapter) PURE;
<a name="l00650"></a>00650     STDMETHOD(EnumAdapterModes)(UINT Adapter,UINT Mode,D3DDISPLAYMODE* pMode) PURE;
<a name="l00651"></a>00651     STDMETHOD(GetAdapterDisplayMode)(UINT Adapter,D3DDISPLAYMODE* pMode) PURE;
<a name="l00652"></a>00652     STDMETHOD(CheckDeviceType)(UINT Adapter,D3DDEVTYPE CheckType,D3DFORMAT DisplayFormat,D3DFORMAT BackBufferFormat,BOOL Windowed) PURE;
<a name="l00653"></a>00653     STDMETHOD(CheckDeviceFormat)(UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT AdapterFormat,DWORD Usage,D3DRESOURCETYPE RType,D3DFORMAT CheckFormat) PURE;
<a name="l00654"></a>00654     STDMETHOD(CheckDeviceMultiSampleType)(UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT SurfaceFormat,BOOL Windowed,D3DMULTISAMPLE_TYPE MultiSampleType) PURE;
<a name="l00655"></a>00655     STDMETHOD(CheckDepthStencilMatch)(UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT AdapterFormat,D3DFORMAT RenderTargetFormat,D3DFORMAT DepthStencilFormat) PURE;
<a name="l00656"></a>00656     STDMETHOD(GetDeviceCaps)(UINT Adapter,D3DDEVTYPE DeviceType,<a class="code" href="struct___d3_d_c_a_p_s8.html">D3DCAPS8</a>* pCaps) PURE;
<a name="l00657"></a>00657     STDMETHOD_(HMONITOR, GetAdapterMonitor)(UINT Adapter) PURE;
<a name="l00658"></a>00658     STDMETHOD(CreateDevice)(UINT Adapter,D3DDEVTYPE DeviceType,HWND hFocusWindow,DWORD BehaviorFlags,<a class="code" href="struct___d3_d_p_r_e_s_e_n_t___p_a_r_a_m_e_t_e_r_s8__.html">D3DPRESENT_PARAMETERS8</a>* pPresentationParameters,IDirect3DDevice8** ppReturnedDeviceInterface) PURE;
<a name="l00659"></a>00659 };
<a name="l00660"></a>00660 
<a name="l00661"></a><a class="code" href="_wrapper_8hpp.html#aa9ea26faccd0670ffca16d885f3f2b94">00661</a> <span class="keyword">static</span> <span class="keyword">const</span> GUID <a class="code" href="_wrapper_8hpp.html#aa9ea26faccd0670ffca16d885f3f2b94">guid</a> = 
<a name="l00662"></a>00662 { 0x7c204fb1, 0x9cac, 0x4b8d, { 0xba, 0xed, 0x7b, 0xf4, 0x8b, 0xf6, 0x3b, 0xb2 } }; <span class="comment">// &lt;- Private data storage GUID,</span>
<a name="l00663"></a>00663 <span class="comment">// may be replaced with a new one later</span>
<a name="l00664"></a>00664 <span class="comment">// {8C51D624-D739-467f-918D-D912EA27C693}</span>
<a name="l00665"></a>00665 <span class="comment">//{ 0x8c51d624, 0xd739, 0x467f, { 0x91, 0x8d, 0xd9, 0x12, 0xea, 0x27, 0xc6, 0x93 } }; // &lt;- Voodoo_DX8&#39;s GUID</span>
<a name="l00666"></a>00666 
<a name="l00667"></a>00667 
<a name="l00668"></a>00668 <span class="keyword">class </span><a class="code" href="class_fake_surface.html">FakeSurface</a>;
<a name="l00669"></a>00669 <span class="keyword">class </span><a class="code" href="class_fake_texture.html">FakeTexture</a>;
<a name="l00670"></a>00670 <span class="keyword">class </span><a class="code" href="class_fake_device.html">FakeDevice</a>;
<a name="l00671"></a>00671 <span class="keyword">class </span><a class="code" href="class_fake_object.html" title="Fake DX8 object class for use by the game.">FakeObject</a>;
<a name="l00672"></a>00672 
<a name="l00673"></a><a class="code" href="_wrapper_8hpp.html#ab6ea3a5af75b860b6e3d74f48d230d7c">00673</a> <span class="preprocessor">#define UnusedFunction() D3DERR_INVALIDCALL</span>
</pre></div></div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr class="footer"/><address style="text-align: right;"><small>Generated on Thu Oct 14 23:18:33 2010 for Voodoo Shader Framework by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>
